home *** CD-ROM | disk | FTP | other *** search
/ Champak 106 / Vol 106.iso / games / hulk.swf / scripts / fl / motion / easing / Elastic.as < prev    next >
Encoding:
Text File  |  2010-04-12  |  2.9 KB  |  98 lines

  1. package fl.motion.easing
  2. {
  3.    public class Elastic
  4.    {
  5.        
  6.       
  7.       public function Elastic()
  8.       {
  9.          super();
  10.       }
  11.       
  12.       public static function easeOut(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  13.       {
  14.          var _loc7_:Number = NaN;
  15.          if(param1 == 0)
  16.          {
  17.             return param2;
  18.          }
  19.          if((param1 = param1 / param4) == 1)
  20.          {
  21.             return param2 + param3;
  22.          }
  23.          if(!param6)
  24.          {
  25.             param6 = param4 * 0.3;
  26.          }
  27.          if(!param5 || param5 < Math.abs(param3))
  28.          {
  29.             param5 = param3;
  30.             _loc7_ = param6 / 4;
  31.          }
  32.          else
  33.          {
  34.             _loc7_ = param6 / (2 * Math.PI) * Math.asin(param3 / param5);
  35.          }
  36.          return param5 * Math.pow(2,-10 * param1) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6) + param3 + param2;
  37.       }
  38.       
  39.       public static function easeIn(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  40.       {
  41.          var _loc7_:Number = NaN;
  42.          if(param1 == 0)
  43.          {
  44.             return param2;
  45.          }
  46.          if((param1 = param1 / param4) == 1)
  47.          {
  48.             return param2 + param3;
  49.          }
  50.          if(!param6)
  51.          {
  52.             param6 = param4 * 0.3;
  53.          }
  54.          if(!param5 || param5 < Math.abs(param3))
  55.          {
  56.             param5 = param3;
  57.             _loc7_ = param6 / 4;
  58.          }
  59.          else
  60.          {
  61.             _loc7_ = param6 / (2 * Math.PI) * Math.asin(param3 / param5);
  62.          }
  63.          return -(param5 * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6)) + param2;
  64.       }
  65.       
  66.       public static function easeInOut(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  67.       {
  68.          var _loc7_:Number = NaN;
  69.          if(param1 == 0)
  70.          {
  71.             return param2;
  72.          }
  73.          if((param1 = param1 / (param4 / 2)) == 2)
  74.          {
  75.             return param2 + param3;
  76.          }
  77.          if(!param6)
  78.          {
  79.             param6 = param4 * (0.3 * 1.5);
  80.          }
  81.          if(!param5 || param5 < Math.abs(param3))
  82.          {
  83.             param5 = param3;
  84.             _loc7_ = param6 / 4;
  85.          }
  86.          else
  87.          {
  88.             _loc7_ = param6 / (2 * Math.PI) * Math.asin(param3 / param5);
  89.          }
  90.          if(param1 < 1)
  91.          {
  92.             return -0.5 * (param5 * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6)) + param2;
  93.          }
  94.          return param5 * Math.pow(2,-10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6) * 0.5 + param3 + param2;
  95.       }
  96.    }
  97. }
  98.